Biography |
Celebrating 45 years of Software Engineering!
Dr. Baxter has been involved with computing since 1966, initially in hardware
working with relay, discrete transistor logic and early Diode-Transistor Logic ICs.
He learned to program with IBM 1401 (Autocoder), 1620 (Fortran) and 360 systems (BAL, PL/1, APL).
He implemented one of the first commercial minicomputer timesharing systems on a Data General Nova in 1970,
before receiving his B.S. in Computer Science (1973). During a brief stint in the numerical controls business,
he designed and implemented a complete 16 bit virtual memory minicomputer, its OS and development tools for automated milling systems.
In 1976, he started Software Dynamics, a systems software house, where he designed compilers, time-sharing
and distributed network operating systems. The similarity in concepts and dissimilarity in implementation
of the various OSes suggested that managing designs was key to managing long-lived software systems,
and turned Ira's interests towards deeper software engineering research. In 1990, he received a Ph.D. in Computer Science from the
University of California at Irvine, where he studied Software
Engineering, focusing on
design reuse using transformational methods. Dr. Baxter spent several years with Schlumberger,
working on a PDE-solver generator for CM-5 supercomputers
(Sinapse). He was consulting Research Scientist for Rockwell International,
focusing on industrial control automation software engineering tools for several years.
In 1995, he founded
Semantic Designs, to build commercial tools that will
radically improve the methods and economics of software enhancement and maintenance.
At Semantic Designs, he provides consulting to Fortune 100 companies on automated software analysis,
transformation and domain-specific synthesis methods.
For the last decade, he has been SD's principal management, supporting marketing and sales,
and provides project vision, management and technical architecture to SD's large custom-software customers.
Dr. Baxter is the principal architect
of Semantic Designs' Design Maintenance System
(DMS), principal designer and compiler
implementer of
PARLANSE, Semantic Designs' parallel programming
language, and architect and principal engineer on CloneDR, SD's unique AST-based Clone Detection technology.
At SD, he has been the Principal Investigator on a number of software-engineering
related SBIRs and STTRs,
covering topics such as Multilingual Architecture Recovery, Dynamic Trace Capture and Analysis,
Modular Transliteration Systems, Detection of Malware, and Code Generation for Multicore Compilers.
Dr. Baxter joined the Association for Computing Machinery in 1970, is an ACM Senior Member and a Life Member.
He joined the IEEE Computer Society in 1973, and is an IEEE Senior Member.
He joined the American Association for Artificial Intelligence in 1983, and is a Life Member.
|
Invited Lectures |
Dr. Baxter has given lectures in a variety of software engineering venues:
- Keynote Lecture, "Legacy System Modernization using Automated Tools",
TacTics Enterprise Transformation Workshop,
(Tata Consulting Services Architect's Internal Conference),
Pune, India, January 2011
- Invited Lecture, Technical Universitet Munchen (Munich Germany), Computer Science Department, January 2011
- Invited Lecture, University of Bremen, Computer Science Department, Germany, January 2011
- Keynote Lecture, "Program Analysis and Transformation: Theory and Practice"
RISS 2010,
3rd RiSE (Reuse in Software Engineering) International Summer School, Salvador, Brazil, November 2010
- Invited Lecture, University of Texas at Austin Computer Science Department, 2010
- Invited Lecture, University of North Carolina, Computer Science Department, March 2010
- Invited Lecture, Architects Forum, Calgary, 2010
- Invited Lecture, University of Calgary, 2010
- Invited Keynote Speaker, "Reengineering Tools: A Perspective from the Trenches"
14th Working Conference on Reverse Engineering (WCRE'2007)
- Invited Talk, "Searching for Malware"
Third International Workshop on Code Based Software Security Assessments (CoBaSSA'2007)
- Invited Presentation: "A Standards-Based Approach to Business Rule Extraction",
Object Management Group Architecture Driven Workshop (OMG/ADM'2005)
- Invited Presentation on Rearchitecting Avionics Mission Software,
Object Management Group Architecture Driven Workshop (OMG/ADM'2005)
- Invited Tutorial on Program Transformation Systems,
Texas State Software Engineering conference, August 2005
- Invited Presentation on Software Architectural Reengineering,
Systems and Software Technology Conference, April 2005 (SSTC'2005)
- Invited Tutorial on Program and Model Transformation Technology,
Object Management Group Architecture Driven Workshop (OMG/ADM'2005)
- Invited Tutorial on Transformation Systems, Summer School on Generative and Transformational Techniques in Software Engineering, Braga, Portugal (GTTSE'2005)
- Invited Presentation on Automated Architectural Reengineering of C++ Components,
Austin Chapter, International Association of Software Architects, January 2005
- Invited Tutorial on Program Transformations,
(OOPSLA'2004)
- Invited Talk on Legacy System Restructuring, March
2004 Austin Sofware Improvement Network
- Invited Lecturer at University of Alabama Computer Science
Department, August 2003
- Invited Speaker, Association for Information
Technology Professionals, June 2003
- Invited Lecturer at University of California at Davis
Computer Science Department, April 2003
- Invited Lecturer at Lawrence
Livermore National Laboratories, April 2003
- Keynote Speaker, Workshop on Source
Code Analysis and Modification (SCAM'2002)
- Invited Lecturer at International Summer School on
Generative Programming, June 2002
- Invited Lecturer at Butler
University, January 2002
- Invited Participant/Panelist at Workshop
on New Visions for Software Design and Productivity: Research and Applications (2001)
- Regular Speaker at Austin
Software Process Improvement Network (A-SPIN) Meetings 2000-2002
- Speaker, IEEE Computer
Society Austin Meeting, September 2002
- Speaker on Test Coverage tools, Quality
Week 2002
- Invited Speaker Minnesota Object Technology
User Group March 2000
- Keynote Speaker at Symposium on Software
Reusability (SSR'99)
- Keynote Speaker at Smalltalk and
Java in Industry and Academia (STJA'99/GCSE'99)
- Invited Speaker San Antonio SASPIN
January 1999
|
Academic Activities |
In addition to his corporate duties, Dr. Baxter has served as chair
and program committee member for numerous computer-science conferences, especially those
focused on software engineering and reusability:
- Program Committee Member, a variety of 2010 and 2011 workshops; to be detailed soon.
- Review Panelist, Software Engineering topics, National Science Foundation 2010
- Program Committee Member,
Ninth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2009)
- Program Committee Member,
16th Working Conference on Reverse Engineering (WCRE'2009)
- Program Committee Member,
25th International Conference on Software Maintenance (ICSM'2009)
- Program Committee Member,
Eighth International Conference on Generative Programming and Component Engineering (GPCE'2009)
- Best Reviewer Award,
Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2008)
- Program Committee Member,
15th Working Conference on Reverse Engineering (WCRE'2008)
- Program Committee Member,
24th International Conference on Software Maintenance (ICSM'2008)
- Program Committee Member,
Seventh International Conference on Generative Programming and Component Engineering (GPCE'2008)
- Program Committee Member,
Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2008)
- Panelist, "Offense and Defense in the Global War on Software",
Systems and Software Technology Conference, (SSTC'2008)
- Review Panelist, Software Engineering topics, National Science Foundation 2007
- Industry Track CoChair,
23rd International Conference on Software Maintenance (ICSM'2007)
- Program Committee Member,
Seventh IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2007)
- Program Committee Member, NIST Software (Static) Analysis Summit, June 2006
- Blue Ribbon Panelist Software Engineering topics, National Science Foundation 2006
- Review Panelist, Software Engineering topics, National Science Foundation 2006
- Program Committee Member,
22nd International Conference on Software Maintenance (ICSM'2006)
- Program Committee Member,
10th European Conference on Software Maintenance and Reeengineering (CSMR'2006)
- Program Committee Member,
Fifth International Conference on Generative Programming and Component Engineering (GPCE'2006)
- Program Committee Member,
Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2006)
- Program Committee Member,
13th Working Conference on Reverse Engineering (WCRE'2006)
- Program Committee Member,
OMG Architecture Driven Modernization Workshop: A Model-driven Approach to Modernizing IT Systems (OMG/ADM'2005)
- Review Panelist, Software Engineering topics, National Science Foundation 2005
- Program Committee Member,
21st International Conference on Software Maintenance (ICSM'2005)
- Program Committee Member,
9th Conference on Software Maintenance and Reeengineering (CSMR'2005)
- Program Committee Member,
Fourth Generative Programming and Component Engineering (GPCE'2005)
- Program Committee Member,
Fifth Source Code Analysis and Manipulation (SCAM'2005)
- Program Committee Member,
12th Working Conference on Reverse Engineering (WCRE'2005)
- Tool Demonstration, C++ Component Reengineering
(OOPSLA'2004)
- Program Committee Member,
11th Working Conference on Reverse Engineering (WCRE'2004)
- Program Committee Member,
Workshop on Model-Driven Evolution of Legacy Systems (EDOC-MELS'2004)
- Program Committee Member, 2004 International
Conference on Software Maintenance (ICSM'2004)
- Program Committee Member, 8th International Conference
on Software Reuse (ICSR'2004)
- Program Committee Member, 8th European Conference
on Software Maintenance and Reengineering (CSMR'2004)
- Program Committee Member, 4th Workshop
on Source Code Analysis and Modification (SCAM'2004)
- Program Committee Member, 10th Working
Conference on Reverse Engineering (WCRE'2003)
- Organizing Committee Member, ChiliPLoP
2003 Workshop on the Expressiveness of Pattern Languages.
- Program Committee Member, 2003 International Conference
on Software Maintenance (ICSM'2003)
- Program Committee Member, Workshop
on Source Code Analysis and Modification (SCAM'2003)
- Program Committee Member, Second
International Conference on Generative Programming and Component Engineering (GPCE'03)
- Program CoChair, IEEE International Conference on
Software Maintenance (ICSM'2002)
- Program Committee Member, 9th
Working Conference on Reverse Engineering (WCRE'2002)
- Corporate Support Chair for International
Conference on Software Reusability (ICSR'2002)
- Program Committee Member, 8th Working Conference
on Reverse Engineering (WCRE'2001)
- Program Committee Member, International
Conference on Software Maintenance (ICSM'2001)
- Program Committee Member, Workshop
on Analysis, Slicing, and Transformation (AST'2001)
- Program Committee Member, IEEE
International Workshop on Source Code Analysis and Manipulation (SCAM'2001)
- Program Committee Member, Symposium
on Software Resuability (SSR'01 at ICSE'2001)
- Program Committee Member, 1st
International Symposium on Generative and Component-Based Software Engineering (GCSE'99)
- General CoChair for the Fifth International Conference on Software Reusability (ICSR5,
1998)
- Program CoChair of the 1997 Working Conference on Reverse Engineering (WCRE4)
- Numerous other conference and workshops dating back to early 1980s
Dr. Baxter regularly presents a tutorial on transformation system technology and applications.
This tutorial has been presented at ICSR4 and ICSR5, at Automated Software Engineering'98,
at STJA'99, and at ICSM'2000. He presented a full day version,
Using Automated Transformation
Systems for Software Maintenance and Reengineering, at the
23rd International Conference on Software Engineering
(ICSE'2001). Half day versions of this tutorial were presented at the
2001 International Conference on Software Maintenance
(ICSM'2001) and at
2002 International Conference on Software Maintenance (ICSM'2002).
|